import unittest
from mathFunction_UnitTest import MyTestCaseTwo
from BeautifulReport import BeautifulReport as bf

"""
    测试集的 使用
    1. 想要使用测试集 需要 导入 unittest 的 模块
    2. 使用 测试集 ，要先创建 一个 测试集
"""

if __name__ == '__main__':
    suite = unittest.TestSuite()
    # 测试集中 的  测试方法的  优先级

    # 直接使用  addTest 可以添加 单个 TestCase
    suite.addTest(MyTestCaseTwo("test_add"))

    # 使用  addTests 下
    suite.addTests(unittest.TestLoader().loadTestsFromName('mathFunction_UnitTest.MyTestCaseTwo'))
    suite.addTests(unittest.TestLoader().loadTestsFromNames(
        [
            'mathFunction_UnitTest.MyTestCaseTwo',
            'mathFunction_UnitTest.MyTestCaseTwo']))

    suite.addTests(unittest.TestLoader().loadTestsFromTestCase(MyTestCaseTwo))

    """
        如果 想要将  测试的结果 导出 
        1. 使用 txt 文本文档到处
        2. 使用 HTML方式导出
            如果想要使用 HTML 的方式 导出 结果 需要 下载 包 BeautifulReport
        3. 使用 第三方的  报告
    """

    # 导出 的报告 为  txt 文件
    # filePath = open('mathFunction_UnitTest_Suite_reporter_txt.txt', 'a')
    # runner = unittest.TextTestRunner(stream=filePath, verbosity=2)
    # runner 执行器
    # runner.run(suite)

    # 导出 HTML 报告
    runner = bf(suite)
    runner.report(description='计算器的测试用例', filename='mathFunction_UnitTest_Suite_reporter_html')
